package com.rongzhe.house.order.service;

import com.rongzhe.house.house.dao.HouseRentPaymentConfigMapper;
import com.rongzhe.house.house.entity.HouseRentPaymentConfig;
import com.rongzhe.house.order.dao.OrderMapper;
import com.rongzhe.house.order.enums.PayType;
import com.rongzhe.house.pay.entity.WeiXinNotify;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * Created by hggxg on 2017/11/19.
 */
@Service
public class OrderServiceImpl implements OrderService {


    @Autowired
    private OrderMapper orderMapper;

    /**
     *
     */
    private HouseRentPaymentConfigMapper houseRentPaymentConfigMapper;

    @Override
    public String createOrder(Integer itemId, Integer count) {
        //1 查询房屋租金

        HouseRentPaymentConfig houseRentPaymentConfig = houseRentPaymentConfigMapper.selectByPrimaryKey(itemId);

        //2 根据数量计算总金额

//        houseRentPaymentConfig.

        //3 创建订单，返回订单信息（订单号，商品名称，图片，金额）


        return null;
    }

    @Override
    public String getSign(String orderCode, PayType payType) {
        //1 根据订单号，后去获取订单，判断订单状态 TODO

        //2 根据选择的支付方式，获取第三方签名

        //3 返回签名的内容


        return null;
    }

    @Override
    public String wxCallback(WeiXinNotify weiXinNotify) {

        //1 根据订单号获取订单 TODO

        //2 判断订单状态(行锁)

        //3 根据判断结果返回微信状态

        return null;
    }

    @Override
    public boolean query(String orderCode) {

        //1 根据订单号获取订单 TODO

        //2 判断订单状态(行锁)

        //3 如果支付，则返回 true。 未支付， 则查询微信服务器（由于回调失败，主动查询微信那边的订单状态）

        //4 根据微信的返回值，调用上面的wxCallback 方法

        //5 如果第4步成功状态，返回true。  失败 false

        return false;
    }


}
